#ifndef __GDE0213B_H__
#define __GBE0213B_H__
#include "stm32f10x.h"
#include "rtthread.h"

#define EPD_W21_MOSI_0	GPIO_ResetBits(GPIOA, GPIO_Pin_6)
#define EPD_W21_MOSI_1	GPIO_SetBits(GPIOA, GPIO_Pin_6)

#define EPD_W21_CLK_0	GPIO_ResetBits(GPIOA, GPIO_Pin_5)
#define EPD_W21_CLK_1	GPIO_SetBits(GPIOA, GPIO_Pin_5)

#define EPD_W21_CS_0	GPIO_ResetBits(GPIOA, GPIO_Pin_4)
#define EPD_W21_CS_1	GPIO_SetBits(GPIOA, GPIO_Pin_4)

#define EPD_W21_DC_0	GPIO_ResetBits(GPIOA, GPIO_Pin_7)
#define EPD_W21_DC_1	GPIO_SetBits(GPIOA, GPIO_Pin_7)

#define EPD_W21_RST_0	GPIO_ResetBits(GPIOA, GPIO_Pin_11)
#define EPD_W21_RST_1	GPIO_SetBits(GPIOA, GPIO_Pin_11)

#define EPD_W21_BS_0	GPIO_ResetBits(GPIOB, GPIO_Pin_11)
//#define EPD_W21_BS_1	P2 |= 0x01

#define EPD_W21_BUSY_LEVEL 0   //忙检测

#define isEPD_W21_BUSY GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_12) // for solomen solutions

void SPI_Write(unsigned char value);
void driver_delay_xms(unsigned long xms);
void epd_show_update(rt_uint8_t mode,rt_uint8_t clear,rt_uint8_t *data1,rt_uint8_t *data2);
void epd_update_hint(rt_uint8_t *data);
void epd_show_init(void);
void epd_update_progress(rt_uint8_t value);
void epd_module_close(void);
void epd_bat_alarm_hint(rt_uint8_t *data);


#endif
